<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 【全局作用域】
    //在代码中任意地方都能访问到的对象拥有全局作用域.
    //(即在全局作用域中定义的变量可以在任何地方使用.)
    //全局作用域在打开页面时创建,关闭页面时销毁.

    //[情况一:所有为定义直接赋值的变量自动声明为全局作用域]
    function Fun1(){
        a = '未定义直接赋值的变量';
        var b = '内层变量'
    }
    Fun1();
    console.log(a);//未定义直接赋值的变量
    // console.log(b);//b is not defined
    //注意:如果一个变量在声明的时候没有使用关键字.
    //例如:num =10,此时这个变量无论写在哪里都是全局变量.
    //但是这是不规范的,千万不要这么写,否则以后的代码可能会出现bug.

    //[情况二: 最外层函数和最外层函数外面定义的变量拥有全局作用域]
    var A = '最外层变量';//最外层变量

    function coutFun(){//最外层函数
        var B = '最外层函数的内部变量'

        function innnerFun(){//内层函数
            var c = '内层函数的内部变量'
        }
    }
    console.log(A)
</script>
</body>
</html>